Blog

BoxLang 1.0.0 Beta 15 Launched

Luis Majano September 20, 2024

Spread the word

Luis Majano

September 20, 2024

Spread the word


Share your thoughts

Welcome to Beta 15! This release brings several significant enhancements aimed at improving the efficiency and functionality of the CLI environment and continued bug fixing to bring our CFML compatibility to several client applications and Ortus Libraries. Key among these is the introduction of the bx-web-support module, which allows the CLI to interface with web server capabilities, making it an excellent tool for testing and feature auditing. Additionally, the merge capabilities within module settings have been refined to support deep merges from the configuration file, ensuring greater flexibility and control.

Moreover, running scripts or classes via CLI execution now supports the automatic detection and execution of Application.bx|cfc, streamlining the process for developers. The new ToString dump template enhances debugging by enabling a concise display format for lists of Java objects, simplifying the analysis and debugging process.

Overall, this beta release brings further stability for CFML applications migrating to BoxLang!

What is BoxLang?

BoxLang is a modern dynamic JVM language that can be deployed on multiple runtimes: operating system (Windows/Mac/*nix/Embedded), web server, lambda, iOS, android, web assembly, and more. BoxLang combines many features from different programming languages, including Java, CFML, Python, Ruby, Go, and PHP, to provide developers with a modern and expressive syntax.

It is also a drop-in replacement for Adobe ColdFusion and Lucee Engines.

How to get started?

Visit our docs at https://boxlang.ortusbooks.com and get coding today. If you want to try it out on the web then go to our online REPL at https://try.boxlang.io. You can also checkout our YouTube playlist: https://www.youtube.com/playlist?list=PLNE-ZbNnndB-40LvAbeSeT2Oi3V2gm_B8

Release Notes

Here are the latest release notes: https://boxlang.ortusbooks.com/readme/release-history/1.0.0-beta15

New Features

BL-544 Look and execute for Application.bx|cfc when running scripts or classes via CLI execution

We have always wanted even further CLI enhancements for applications built with BoxLang. Now you get it! BoxLang will look for an Application.bx|cfc whenever it executes a template or class and follow the process of application startup, settings, ORM, etc. The full life-cycle of an application but at the CLI level. This will allow you to completely test your web applications with no web server and even build CLI applications with easy application constructs!

BL-559 New bx-web-support module to support the CLI with web server capabilities. Great for testing, mocking and feature audits.

We have released the bx-web-support module which will give you mocking, testing and auditing capabilities for CLI testing and runners. This means that your CLI applications will look and feel like a real web application with a real web server, but using our mock approaches.

This module is still in it's alpha stages so expect much more development on it.

BL-574 Module settings should have a deep merge from the configuration file

All module settings in your boxlang.json can now be deeply merged automatically by BoxLang.

BL-580 Add a new ToString dump template that will take a list of java objects to display them in short hand format

We will be easing the visibility of certain human readable Java classes in our dump templates.

BL-581 Handle single values in arrayAppend merge=true

A nice feature to support further merging techniques with arrays.

Improvements

BL-503 dump improvement of UI when using expand/collapse

BL-545 Show errors in class pseudo constructor in tag context

BL-555 List utils need to trim all values when converting to arrays

BL-558 LocalDateTime not showing in dumps as a date/time string, but as a Java Object

BL-567 Update date/time and instant dump templates to be less verbose and more functional

BL-569 Allow CF tag islands and template islands to be nested more than one level deep.

BL-570 Merge CF lexer and grammar for faster parsing and more accurate lexing

BL-571 Make tag expression parsing smarter

BL-576 expandPath() must ignore invalid paths, just returning the input

BL-579 More IO BIFs need to ignore invalid paths

Bugs

BL-434 script block parsing can be tricked by comments

BL-546 Lucee allows properties to be anywhere in the pseduoconstructor of a class, not just at the top

BL-547 flush component only flushes up one buffer, not all the way

BL-550 Boxlang doesn't parse milliseconds in datetime string

BL-551 Date "string" doesn't have date time member functions available

BL-552 Querynew failing with more than one column defined

BL-553 Regular Expression Syntax not supported

BL-557 Metadata visitor doesn't support struct annotations with unquoted keys

BL-561 Hyper module failing

BL-562 bx-compat cfloop requires "index" when it shouldn't

BL-563 transaction shouldn't require global DSN

BL-564 cfproperty tag lucee allows non quoted properties

BL-565 Class name sensitivity based on provided rather than class found

BL-566 No reading dump templates due to pathing incorrectly in debug mode

BL-568 Static support not compatible with CFML

BL-572 javacast not actually casting as expected

BL-573 functions in variables scope vs values in variables scope

BL-575 bx-compat unquoted hashed expressions cause compiler error

BL-577 serializeJSON errors when serializing a function

BL-578 Sentinel loop with missing expressions fails

BL-582 mid() It does not remove characters if the count is more than the length

BL-583 Cannot invoke "ortus.boxlang.runtime.types.IStruct.putAll(java.util.Map)" because "recipient" is null

Add Your Comment

Recent Entries

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management


Opting for in-house database management involves more than just a salary. Here are some often-overlooked costs associated with maintaining your own DBA team.



1. High Salaries and Benefits


Hiring skilled DBAs is expensive. According to industry reports, the average salary of a DBA in the U.S. can range from $85,000 to over $130,000 per year, depending on experience and expertise. When you add ...

Cristobal Escobar
Cristobal Escobar
November 20, 2024
5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

ColdFusion has long been a reliable platform for building web applications, but like any technology, it requires maintenance and modernization over time. Whether you're using Lucee or Adobe ColdFusion, it’s critical to recognize the signs that your application is no longer meeting today’s standards in performance, security, and scalability. Let’s explore five clear indicators that it’s time to modernize your ColdFusion application and how ColdFusion consulting can help breathe new life into y...

Cristobal Escobar
Cristobal Escobar
November 19, 2024
ColdBox Free Tip 5 - Building Named Routes with a Struct

ColdBox Free Tip 5 - Building Named Routes with a Struct

**Did you know ColdBox provides flexible ways to build routes using structs?** In this tip, we’ll cover how to use the `event.buildLink()` and `event.route()` methods for named routes, a feature that’s especially handy when working with dynamic URLs.

Maria Jose Herrera
Maria Jose Herrera
November 19, 2024